package com.doordu.soa.service.comm;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * 定义服务提供端返回码
 * 
 * @ClassName: ErrorCode
 * @Description: 错误编码,编码规则:[err-服务端-六位数字编码]
 * @author xiaoqun.yi yixq@doordu.com
 * @date 2017年4月7日 上午9:57:52
 * @version V1.0 200 服务调用成功 400 服务调用失败 100001 未知错误 100002 服务内部错误 100003 请求参数为空
 *          100004 请求参数错误 100005 数据库连接异常 100006 数据库执行SQL异常 100007 Redis连接异常
 *          100008 Redis操作异常 100009 数据重复 100010 无符合要求的数据 100011 操作失败 100012
 *          管理权限不足
 */
public class ResultCode implements Serializable {
	private static final long serialVersionUID = 7271711253331156L;
	/**
	 * 错误编码对应错误描述
	 */
	public static Map<String, String> errmap = new HashMap<String, String>();

	/**
	 * 服务调用成功
	 */
	public static final String RESPONSE_SUCCESS = "200";
	/**
	 * 服务调用失败
	 */
	public static final String RESPONSE_ERROR = "400";
	/**
	 * 未知错误
	 */
	public static final String RESPONSE_UNKNOWN_ERROR = "100001";
	/**
	 * 服务内部错误
	 */
	public static final String RESPONSE_INTRANET_ERROR = "100002";
	/**
	 * 请求参数为空
	 */
	public static final String ERROR_DATA_NULL = "100003";
	/***
	 * 请求参数错误
	 */
	public static final String ERROR_DATA_PARAM = "100004";

	/***
	 * 数据库连接异常
	 */
	public static final String ERROR_DATABASE_NOCONN = "100005";
	/***
	 * 数据库执行SQL异常
	 */
	public static final String ERROR_DATABASE_EXUTE = "100006";
	/***
	 * Redis连接异常
	 */
	public static final String ERROR_REDIS_NOCONN = "100007";
	/***
	 * Redis操作异常
	 */
	public static final String ERROR_REDIS_EXUTE = "100008";
	/***
	 * 数据重复
	 */
	public static final String ERROR_DATA_REPEAT = "100009";
	/***
	 * 无符合要求的数据
	 */
	public static final String ERROR_DATA_NOT_MATCH = "100010";
	/***
	 * 操作失败
	 */
	public static final String ERROR_OPERATE = "100011";
	/***
	 * 管理权限不足
	 */
	public static final String ERROR_NOAUTH = "100012";
	/**
	 * 请先登录
	 */
	public static final String ERROR_NOT_LOGIN = "100013";
	/**
	 * 系统在升级维护中
	 */
	public static final String ERROR_SYS_UPGRADE = "100014";
	/**
	 * 强制退出
	 */
	public static final String ERROR_FORCE_LOGOUT = "100015";

	/**
	 * 上报数据的同步类型错误
	 */
	public static final String ERROR_OPERATETYPE = "100016";

	/**
	 * 上报数据的压缩类型错误
	 */
	public static final String ERROR_GZIP = "100017";

	/**
	 * JSON异常
	 */
	public static final String ERROR_JSON = "100018";

	public static final String ERROR_DATANULL = "100019";

	// 对应关系添加
	static {
		// 公共 start
		errmap.put(RESPONSE_SUCCESS, "服务调用成功");
		errmap.put(RESPONSE_ERROR, "服务调用失败");
		errmap.put(RESPONSE_UNKNOWN_ERROR, "未知错误");
		errmap.put(RESPONSE_INTRANET_ERROR, "服务内部错误");
		errmap.put(ERROR_DATA_NULL, "请求参数为空");
		errmap.put(ERROR_DATA_PARAM, "请求参数有误");
		errmap.put(ERROR_DATABASE_NOCONN, "数据库连接异常");
		errmap.put(ERROR_DATABASE_EXUTE, "数据库执行SQL异常");
		errmap.put(ERROR_REDIS_NOCONN, "Redis连接异常");
		errmap.put(ERROR_REDIS_EXUTE, "Redis操作异常");
		errmap.put(ERROR_DATA_REPEAT, "数据重复");
		errmap.put(ERROR_DATA_NOT_MATCH, "没有符合要求的数据");
		errmap.put(ERROR_OPERATE, "操作失败");
		errmap.put(ERROR_NOAUTH, "您没有权限调用该接口");
		errmap.put(ERROR_NOT_LOGIN, "请先登录");
		errmap.put(ERROR_SYS_UPGRADE, "系统在升级维护中");
		errmap.put(ERROR_FORCE_LOGOUT, "您的账号已在别处登录");
		errmap.put(ERROR_OPERATETYPE, "上报数据的同步类型错误");
		errmap.put(ERROR_GZIP, "上报数据的压缩类型错误");
		errmap.put(ERROR_JSON, "上报数据的data的JSON格式错误");
		errmap.put(ERROR_DATANULL, "上报数据体为空");

		// 公共 end

	}
}